package com.ruoyi.bluebera.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 销售信息对象 biz_sale_stats
 * 
 * @author ruoyi
 * @date 2025-07-27
 */
public class BizSaleStats extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 总供应量 */
    @Excel(name = "总供应量")
    private BigDecimal totalSupply;

    /** 已售数量 */
    @Excel(name = "已售数量")
    private BigDecimal soldAmount;

    /** 预估剩余天数 */
    @Excel(name = "预估剩余天数")
    private Long estimatedDaysRemaining;

    /** 已售USDT-ERC20数量 */
    @Excel(name = "已售USDT-ERC20数量")
    private BigDecimal usdtErc20Sold;

    /** 已售BERA数量 */
    @Excel(name = "已售BERA数量")
    private BigDecimal beraSold;

    /** 已售USDT-ARB数量 */
    @Excel(name = "已售USDT-ARB数量")
    private BigDecimal usdtArbSold;

    /** 更新时间 */
    //@JsonFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setTotalSupply(BigDecimal totalSupply) 
    {
        this.totalSupply = totalSupply;
    }

    public BigDecimal getTotalSupply() 
    {
        return totalSupply;
    }

    public void setSoldAmount(BigDecimal soldAmount) 
    {
        this.soldAmount = soldAmount;
    }

    public BigDecimal getSoldAmount() 
    {
        return soldAmount;
    }

    public void setEstimatedDaysRemaining(Long estimatedDaysRemaining) 
    {
        this.estimatedDaysRemaining = estimatedDaysRemaining;
    }

    public Long getEstimatedDaysRemaining() 
    {
        return estimatedDaysRemaining;
    }

    public void setUsdtErc20Sold(BigDecimal usdtErc20Sold) 
    {
        this.usdtErc20Sold = usdtErc20Sold;
    }

    public BigDecimal getUsdtErc20Sold() 
    {
        return usdtErc20Sold;
    }

    public void setBeraSold(BigDecimal beraSold) 
    {
        this.beraSold = beraSold;
    }

    public BigDecimal getBeraSold() 
    {
        return beraSold;
    }

    public void setUsdtArbSold(BigDecimal usdtArbSold) 
    {
        this.usdtArbSold = usdtArbSold;
    }

    public BigDecimal getUsdtArbSold() 
    {
        return usdtArbSold;
    }

    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("totalSupply", getTotalSupply())
            .append("soldAmount", getSoldAmount())
            .append("estimatedDaysRemaining", getEstimatedDaysRemaining())
            .append("usdtErc20Sold", getUsdtErc20Sold())
            .append("beraSold", getBeraSold())
            .append("usdtArbSold", getUsdtArbSold())
            .append("updatedAt", getUpdatedAt())
            .toString();
    }
}
